searchbar: Ignore key presses when unmapped
authorTimm Bäder <mail@baedert.org>
Sun, 8 Jul 2018 07:29:14 +0000 (09:29 +0200)
committerTimm Bäder <mail@baedert.org>
Sun, 8 Jul 2018 07:41:15 +0000 (09:41 +0200)
The purpose of a searchbar is to start a search on visible widgets when
a key is pressed. Starting a search on e.g. a stack page that is not
visible at all is not very useful.

gtk/gtksearchbar.c

index 68bd94de3c2e40fde99e63dcc657290e43b16d74..df91d8ef310240e2b2298284961b7d7934f39bd6 100644 (file)
@@ -640,6 +640,9 @@ capture_widget_key_handled (GtkEventControllerKey *controller,
   GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar);
   gboolean handled;
 
+  if (!gtk_widget_get_mapped (GTK_WIDGET (bar)))
+    return GDK_EVENT_PROPAGATE;
+
   if (priv->reveal_child)
     return GDK_EVENT_PROPAGATE;